﻿<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
	<CodeSnippet Format="1.0.0">
		<Header>
			<SnippetTypes>
				<SnippetType>Expansion</SnippetType>
			</SnippetTypes>
			<Title>Custom Step</Title>
			<Shortcut>step</Shortcut>
			<Description>The snippet that allows you creating the custom step.</Description>
		</Header>
		<Snippet>
			<Declarations>
				<Literal Editable="true">
					<ID>stepname</ID>
					<Default>My</Default>
				</Literal>
				<Literal Editable="true">
					<ID>name</ID>
					<Default>My</Default>
				</Literal>
				<Literal Editable="true">
					<ID>defaultgroup</ID>
					<Default>Default</Default>
				</Literal>
				<Literal Editable="true">
					<ID>defaulttag</ID>
					<Default>Default</Default>
				</Literal>
				<Literal Editable="true">
					<ID>baseType</ID>
				</Literal>
				<Literal Editable="true">
					<ID>keyword</ID>
					<Default>abstract</Default>
				</Literal>
			</Declarations>
			<Code Language="csharp" Delimiter="$">
				<![CDATA[/// <summary>
/// Provides with a step that is a <b>$stepname$</b> technique.
/// </summary>
/// <param name="Conclusions"><inheritdoc/></param>
/// <param name="Views"><inheritdoc/></param>
public $keyword$ record $name$Step(
	ImmutableArray<Conclusion> Conclusions,
	ImmutableArray<PresentationData> Views
) : $baseType$Step(Conclusions, Views)
{
	/// <inheritdoc/>
	public sealed override bool ShowDifficulty => base.ShowDifficulty;

	/// <inheritdoc/>
	public sealed override bool IsElementary => base.IsElementary;

	/// <inheritdoc/>
	public sealed override string Name => base.Name;

	/// <inheritdoc/>
	public sealed override string? Format => base.Format;

	/// <inheritdoc/>
	public sealed override TechniqueGroup TechniqueGroup => TechniqueGroup.$defaultgroup$;

	/// <inheritdoc/>
	public override TechniqueTags TechniqueTags => TechniqueTags.$defaulttag$;

	/// <inheritdoc/>
	public sealed override Stableness Stableness => base.Stableness;
}
]]>
			</Code>
		</Snippet>
	</CodeSnippet>
</CodeSnippets>